home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / CPlusPlus / ClipbdB.xh < prev    next >
Encoding:
Text File  |  1994-04-19  |  5.2 KB  |  220 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:CPlusPlus:ClipbdB.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emitxh.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODBaseClipboard_xh
  18. #define SOM_ODBaseClipboard_xh
  19.  
  20. class ODBaseClipboard;
  21.  
  22. #define ODBaseClipboard_MajorVersion 1
  23. #define ODBaseClipboard_MinorVersion 0
  24.  
  25. /* C++ som defs */
  26. #include <somcls.xh>
  27.  
  28. /* Include C++ parent defs */
  29. #ifndef SOM_ODObject_xh
  30. #include <ODObject.xh>
  31. #endif
  32.  
  33. #ifndef ODBaseClipboard_API
  34. #define ODBaseClipboard_API
  35. /*
  36.  * -- The Class API
  37.  */
  38.  
  39. /*
  40.  * Start of user-defined types:
  41.  */
  42. class ODExtension;
  43. class ODSession;
  44. class ODStorageUnit;
  45. class ODDocument;
  46. class ODDraft;
  47. class ODContainer;
  48. class ODPlatformTypeList;
  49.  
  50. /*
  51.  * End of user-defined types.
  52.  */
  53.  
  54. #if applec ^ PRAGMA_LIB_EXPORT
  55. #pragma lib_export on
  56. #endif
  57.  
  58.  
  59. /* A procedure to create the ODBaseClipboard Class */
  60. SOMEXTERN SOMClass * SOMLINK ODBaseClipboardNewClass(
  61.         integer4 majorVersion,
  62.         integer4 minorVersion);
  63.  
  64. /* The API to the ODBaseClipboard class object, and the methods it introduces. */
  65. typedef struct ODBaseClipboardClassDataStructure {
  66.     SOMClass *classObject;
  67.     somMToken Lock;
  68.     somMToken Unlock;
  69.     somMToken GetChangeID;
  70.     somMToken Clear;
  71.     somMToken GetContentStorageUnit;
  72.     somMToken SetPlatformClipboard;
  73.     somMToken ExportClipboard;
  74.     somMToken reserved1;
  75. } ODBaseClipboardClassDataStructure;
  76. #ifdef SOM_NO_DATA_EXPORTS
  77.    SOMEXTERN ODBaseClipboardClassDataStructure * ODBaseClipboardGetClassData ( void );
  78. #   undef ODBaseClipboardClassData
  79. #   define ODBaseClipboardClassData (*ODBaseClipboardGetClassData())
  80. #else
  81.    SOMEXTERN ODBaseClipboardClassDataStructure ODBaseClipboardClassData;
  82. #endif /* SOM_NO_DATA_EXPORTS */
  83.  
  84. #if applec ^ PRAGMA_LIB_EXPORT
  85. #pragma lib_export off
  86. #endif
  87.  
  88. #define _ODBaseClipboard ODBaseClipboardClassData.classObject
  89.  
  90. /* The API to parentMtabs for ODBaseClipboard, and the instance data it introduces. */
  91. SOMEXTERN struct ODBaseClipboardCClassDataStructure {
  92.     somMethodTabs parentMtab;
  93.     somDToken instanceDataToken;
  94. } ODBaseClipboardCClassData;
  95.  
  96. /*
  97.  * -- Typedefs for Procedures that support Methods introduced by ODBaseClipboard
  98.  */
  99. SOMEXTERN {
  100. typedef ODBoolean   (* SOMLINK somTD_ODBaseClipboard_Lock)(ODBaseClipboard *somSelf, Environment *ev,
  101.         ODULong wait,
  102.         ODClipboardKey key);
  103. typedef void   (* SOMLINK somTD_ODBaseClipboard_Unlock)(ODBaseClipboard *somSelf, Environment *ev,
  104.         ODClipboardKey key);
  105. typedef ODChangeID   (* SOMLINK somTD_ODBaseClipboard_GetChangeID)(ODBaseClipboard *somSelf, Environment *ev);
  106. typedef void   (* SOMLINK somTD_ODBaseClipboard_Clear)(ODBaseClipboard *somSelf, Environment *ev,
  107.         ODClipboardKey key);
  108. typedef ODStorageUnit*   (* SOMLINK somTD_ODBaseClipboard_GetContentStorageUnit)(ODBaseClipboard *somSelf, Environment *ev,
  109.         ODClipboardKey key);
  110. typedef void   (* SOMLINK somTD_ODBaseClipboard_SetPlatformClipboard)(ODBaseClipboard *somSelf, Environment *ev,
  111.         ODPlatformTypeList* typeList,
  112.         ODClipboardKey key);
  113. typedef void   (* SOMLINK somTD_ODBaseClipboard_ExportClipboard)(ODBaseClipboard *somSelf, Environment *ev,
  114.         ODClipboardKey key);
  115. }
  116.  
  117. #endif /* ODBaseClipboard_API */
  118.  
  119.  
  120. /*
  121.  * -- Method Tokens are Thunks
  122.  */
  123. #undef somresolve_
  124. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  125.  
  126. /*
  127.  * -- The C++ Wrapper Class for ODBaseClipboard
  128.  */
  129. class ODBaseClipboard : public ODObject
  130. {
  131. public:
  132.  
  133. void *operator new(size_t size)
  134. {
  135.    SOM_IgnoreWarning(size);
  136.    if (!ODBaseClipboardClassData.classObject) 
  137.       ODBaseClipboardNewClass(ODBaseClipboard_MajorVersion,ODBaseClipboard_MinorVersion);
  138.    return (void *)
  139.       ((somTD_SOMClass_somNew)
  140.       somresolve_((SOMObject *)((void*)(ODBaseClipboardClassData.classObject)),
  141.                  SOMClassClassData.somNew))
  142.          ((SOMClass *)((void*)(ODBaseClipboardClassData.classObject)));
  143. }
  144.  
  145. void operator delete(void * obj)
  146. {
  147.    ((SOMObject *)obj)->somFree();
  148. }
  149.  
  150. /* public method: Lock */
  151. ODBoolean   Lock(Environment *ev,
  152.         ODULong wait,
  153.         ODClipboardKey key)
  154. {
  155.    return SOM_Resolve(this,ODBaseClipboard,Lock)
  156.     (this,ev,wait,key);
  157. }
  158.  
  159.  
  160. /* public method: Unlock */
  161. void   Unlock(Environment *ev,
  162.         ODClipboardKey key)
  163. {
  164.    SOM_Resolve(this,ODBaseClipboard,Unlock)
  165.     (this,ev,key);
  166. }
  167.  
  168.  
  169. /* public method: GetChangeID */
  170. ODChangeID   GetChangeID(Environment *ev)
  171. {
  172.    return SOM_Resolve(this,ODBaseClipboard,GetChangeID)
  173.     (this,ev);
  174. }
  175.  
  176.  
  177. /* public method: Clear */
  178. void   Clear(Environment *ev,
  179.         ODClipboardKey key)
  180. {
  181.    SOM_Resolve(this,ODBaseClipboard,Clear)
  182.     (this,ev,key);
  183. }
  184.  
  185.  
  186. /* public method: GetContentStorageUnit */
  187. ODStorageUnit*   GetContentStorageUnit(Environment *ev,
  188.         ODClipboardKey key)
  189. {
  190.    return SOM_Resolve(this,ODBaseClipboard,GetContentStorageUnit)
  191.     (this,ev,key);
  192. }
  193.  
  194.  
  195. /* public method: SetPlatformClipboard */
  196. void   SetPlatformClipboard(Environment *ev,
  197.         ODPlatformTypeList* typeList,
  198.         ODClipboardKey key)
  199. {
  200.    SOM_Resolve(this,ODBaseClipboard,SetPlatformClipboard)
  201.     (this,ev,typeList,key);
  202. }
  203.  
  204.  
  205. /* public method: ExportClipboard */
  206. void   ExportClipboard(Environment *ev,
  207.         ODClipboardKey key)
  208. {
  209.    SOM_Resolve(this,ODBaseClipboard,ExportClipboard)
  210.     (this,ev,key);
  211. }
  212.  
  213.  
  214.  
  215. };   /* ODBaseClipboard */
  216.  
  217.  
  218.  
  219. #endif       /* SOM_ODBaseClipboard_xh */
  220.